﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Mail;
using TPAgenciaDeTurismo.PruebaWS;

namespace TPAgenciaDeTurismo

{
    public partial class Menu : Form
    {
        public Menu()
        {
            InitializeComponent();
        }

        PruebaWS.ClientePesadoWSClient metodo = new ClientePesadoWSClient();

        private proveedor prov = new proveedor();// crea una instancia de la clase proveedor para este winform
        
        private void Menu_Load(object sender, EventArgs e)
        {
            cbxNuevoSerHtoel.Items.Clear();
            if (prov.servicios == null)
            {
                cbxNuevoSerHtoel.Items.Add("No tiene servicios de Hotel creados");

            }
            else
            {
                for (int i = 0; i < prov.servicios.Length; i++)
                {
                    cbxNuevoSerHtoel.Items.Add(prov.servicios[i].nombre);
                }
            }
            cbxNuevoSerHtoel.SelectedIndex= 0;

        }
     
        public proveedor recibirProv2
        {   
            get { return prov; }
            set { prov = value; }
        } //Metodo para poder cargar el prov desde otro winforms




        private void NewServ_Click(object sender, EventArgs e)
        {
            cbxNuevoSerHtoel.Items.Clear();
            if (prov.servicios == null)
            {
                cbxNuevoSerHtoel.Items.Add("No tiene servicios de Hotel creados");
            }
            else
            {
                for (int i = 0; i < prov.servicios.Length; i++)
                {
                    if (prov.servicios[i] != null)
                    {
                        cbxNuevoSerHtoel.Items.Add(prov.servicios[i].nombre);
                    }
                }
            }
        }

   
            
    
        #region boton de ABM
        private void newServHotel_Click(object sender, EventArgs e)// Abre la ventana para crear un servicio
        {
            TPAgenciaDeTurismo.Pantallas.ServHotel servhotel = //
                new TPAgenciaDeTurismo.Pantallas.ServHotel();  //crea una ventana del tipo SerVHotel
            servhotel.recibirProv = prov; // paso el objeto proveedor al winform de SerVHotel
            servhotel.ShowDialog(this); // Muestra el winform ServHotel en pantalla
            #region refresh combo boddddx
            cbxNuevoSerHtoel.Items.Clear();
            if (prov.servicios == null)
            {
                cbxNuevoSerHtoel.Items.Add("No tiene servicios de Hotel creados");
            }
            else
            {
                for (int i = 0; i < prov.servicios.Length; i++)
                {
                    if (prov.servicios[i] != null)
                    {
                        cbxNuevoSerHtoel.Items.Add(prov.servicios[i].nombre);
                    }
                }
            }
            #endregion
           
}

        private void cbxNuevoSerHtoel_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridViewSerHotel.Rows.Clear();
            if (prov.servicios != null)
            {
                string nameSer = cbxNuevoSerHtoel.SelectedItem.ToString();
                for (int i = 0; i < prov.servicios.Length; i++)
                {
                    if (prov.servicios[i] != null)
                    {
                        if ((prov.servicios[i].GetType() == typeof(hotelServicio)) && (prov.servicios[i].nombre == nameSer))
                        {
                            hotelServicio hotel = new hotelServicio();
                            hotel = (hotelServicio)prov.servicios[i];
                            //foreach (habitacion item in hotel.habitaciones)
                            //{
                            //    dataGridViewSerHotel.Rows.Add(item.numero.ToString(), item.tipo.nombre);
                            //}
                            for (int j = 0; j < (hotel.habitaciones.Length - 1); j++)
                            {
                                dataGridViewSerHotel.Rows.Add(hotel.habitaciones[j].numero.ToString(), hotel.habitaciones[j].tipo.nombre, hotel.habitaciones[j].tipo.numeroCamas.ToString(),hotel.habitaciones[j].tipo.precio.ToString());
                            }
                        }
                    }
                }
            }

    
        }

        private void btbEliminarServHotel_Click(object sender, EventArgs e)//Elimina un servicio de Hotel seleccionado
        {
            string nameSer = cbxNuevoSerHtoel.SelectedItem.ToString();
            for (int i = 0; i < prov.servicios.Length; i++)
            {
                if ((prov.servicios[i].GetType() == typeof(hotelServicio)) && (prov.servicios[i].nombre == nameSer))
                {
                    prov.servicios[i] = null;

                }
            }
            metodo.editProveedor(prov);
            #region refresh combo box
            cbxNuevoSerHtoel.Items.Clear();
            if (prov.servicios == null)
            {
                cbxNuevoSerHtoel.Items.Add("No tiene servicios de Hotel creados");
            }
            else
            {
                for (int i = 0; i < prov.servicios.Length; i++)
                {
                    if (prov.servicios[i] != null)
                    {
                        cbxNuevoSerHtoel.Items.Add(prov.servicios[i].nombre);
                    }
                }
            }
            #endregion
        }
        #endregion
    
    }
}

      


    

